
import java.io.IOException;
/**
 *
 */
public class 蛇形填数 {
    //下标从1开始
    static int[][] nums=new int[100][100];
    static int i = 1, j = 1;
    static int idx=2;
    public static void main(String[] args) throws IOException {
        nums[1][1]=1;
        zuoxia();
        System.out.println(nums[20][20]);
    }
    //左下：向右移动，向左下移动知道j==1；
    private static void zuoxia() {
        if (i==80||j==80) {
            return;
        }

        j++;
        nums[i][j]=idx++;
        while (j!=1) {
            i++;
            j--;
            nums[i][j]=idx++;
        }
        //此时j==1的位置已经填充好了
        youshang();
    }
    private static void youshang() {
        if (i == 80 || j == 80) {
            return;
        }
        i++;
        nums[i][j]=idx++;
        while (i!=1) {
            i--;
            j++;
            nums[i][j]=idx++;
        }
        zuoxia();
    }
}